package model

import (
	"context"
	"service/ctrl"
	"service/model/mod"

	gpb "gitee.com/cloudapex/protos/hr/pb"

	"google.golang.org/grpc"
)

var StaffServer staffServer

func init() {
	ctrl.GCon.RegistClienter(mod.GCONN_HR, func(c *grpc.ClientConn) { StaffServer.cli = gpb.NewStaffServerClient(c) })
}

type staffServer struct {
	cli gpb.StaffServerClient
}

// staffServer.StaffAdd 新增组织架构
func (this *staffServer) HrAddUser(ctx context.Context, in *gpb.HrBaseReq) (*gpb.HrBaseRes, error) {
	return this.cli.HrAddUser(ctx, in)
}

// staffServer.UserLogin 员工登录
func (this *staffServer) UserLogin(ctx context.Context, in *gpb.StaffBaseReq) (*gpb.StaffBaseRes, error) {
	return this.cli.UserLogin(ctx, in)
}

// staffServer.HrGetUser 用户基本信息
func (this *staffServer) HrGetUser(ctx context.Context, in *gpb.HrBaseReq) (*gpb.StaffSingleRes, error) {
	return this.cli.HrGetUser(ctx, in)
}

// staffServer.GetDetailList 员工列表信息
func (this *staffServer) GetDetailList(ctx context.Context, in *gpb.HrDetailReq) (*gpb.HrDetailRes, error) {
	return this.cli.GetDetailList(ctx, in)
}

// staffServer.SetQuit 设置员工离职
func (this *staffServer) SetQuit(ctx context.Context, in *gpb.InOutReq) (*gpb.InOutRes, error) {
	return this.cli.SetQuit(ctx, in)
}

// staffServer.OnQuit 离职解禁
func (this *staffServer) OnQuit(ctx context.Context, in *gpb.InOutReq) (*gpb.InOutRes, error) {
	return this.cli.OnQuit(ctx, in)
}

// staffServer.SetZz 设置员工转正
func (this *staffServer) SetZz(ctx context.Context, in *gpb.InOutReq) (*gpb.InOutRes, error) {
	return this.cli.SetZz(ctx, in)
}

// staffServer.GetQuitTag 获取离职标签
func (this *staffServer) GetQuitTag(ctx context.Context, in *gpb.QuitTagReq) (*gpb.QuitTagList, error) {
	return this.cli.GetQuitTag(ctx, in)
}

// staffServer.UpdateUser 更新花名册基本信息
func (this *staffServer) UpdateUser(ctx context.Context, in *gpb.HrBaseReq) (*gpb.HrBaseStater, error) {
	return this.cli.UpdateUser(ctx, in)
}

// staffServer.AddEdu 添加教育经历
func (this *staffServer) AddEdu(ctx context.Context, in *gpb.StaffEdu) (*gpb.EduRes, error) {
	return this.cli.AddEdu(ctx, in)
}

// staffServer.AddBank 添加员工银行信息
func (this *staffServer) AddBank(ctx context.Context, in *gpb.StaffBankReq) (*gpb.BankRes, error) {
	return this.cli.AddBank(ctx, in)
}

// staffServer.SetStaffMod 获取离职标签
func (this *staffServer) SetStaffMod(ctx context.Context, in *gpb.StffModReq) (*gpb.StffModRes, error) {
	return this.cli.SetStaffMod(ctx, in)
}

// staffServer.GetBanks 获取员工银行卡信息
func (this *staffServer) GetBanks(ctx context.Context, in *gpb.StaffBank) (*gpb.BankInfoRes, error) {
	return this.cli.GetBanks(ctx, in)
}

// staffServer.GetEduList 获取员工教育经历
func (this *staffServer) GetEduList(ctx context.Context, in *gpb.StaffEdu) (*gpb.EduListRes, error) {
	return this.cli.GetEduList(ctx, in)
}

// staffServer.UpdateBank 修改员工银行卡信息
func (this *staffServer) UpdateBank(ctx context.Context, in *gpb.StaffBankReq) (*gpb.BankRes, error) {
	return this.cli.UpdateBank(ctx, in)
}

// staffServer.UpdateEdu 修改员教育经历
func (this *staffServer) UpdateEdu(ctx context.Context, in *gpb.StaffEdu) (*gpb.EduRes, error) {
	return this.cli.UpdateEdu(ctx, in)
}

// staffServer.GetContractList 员工合同列表信息
func (this *staffServer) GetContractList(ctx context.Context, in *gpb.ContractReq) (*gpb.ContraUsersRes, error) {
	return this.cli.GetContractList(ctx, in)
}

// staffServer.EditContract 编辑合同信息
func (this *staffServer) EditContract(ctx context.Context, in *gpb.StaffContractReq) (*gpb.HrBaseStater, error) {
	return this.cli.EditContract(ctx, in)
}

// staffServer.GetInsuraList 员工合同列表信息
func (this *staffServer) GetInsuraList(ctx context.Context, in *gpb.InsuratReq) (*gpb.InsuraUsersRes, error) {
	return this.cli.GetInsuraList(ctx, in)
}

// staffServer.EditInsurance 员工合同列表信息
func (this *staffServer) EditInsurance(ctx context.Context, in *gpb.StaffInsuranceReq) (*gpb.HrBaseStater, error) {
	return this.cli.EditInsurance(ctx, in)
}

// staffServer.QuitUserList 员工离职列表信息
func (this *staffServer) QuitUserList(ctx context.Context, in *gpb.HrDetailReq) (*gpb.QuitUsersRes, error) {
	return this.cli.QuitUserList(ctx, in)
}

// staffServer.GetQuitList 员工离职做题的题库列表
func (this *staffServer) GetQuitList(ctx context.Context, in *gpb.BaseReq) (*gpb.QuitDetailRes, error) {
	return this.cli.GetQuitList(ctx, in)
}

// staffServer.QuitCommit 离职做题
func (this *staffServer) QuitCommit(ctx context.Context, in *gpb.QuitReq) (*gpb.BaseRes, error) {
	return this.cli.QuitCommit(ctx, in)
}

// staffServer.GetQuitDetail 离职做题
func (this *staffServer) GetQuitDetail(ctx context.Context, in *gpb.BaseQuitReq) (*gpb.BaseQuitRes, error) {
	return this.cli.GetQuitDetail(ctx, in)
}

// staffServer.SearchUserList 模糊匹配员工信息
func (this *staffServer) SearchUserList(ctx context.Context, in *gpb.BaseSearchReq) (*gpb.SearchUserRes, error) {
	return this.cli.SearchUserList(ctx, in)
}

// staffServer.GetPoolCount 离职原因分析
func (this *staffServer) GetPoolCount(ctx context.Context, in *gpb.BaseCountReq) (*gpb.BaseCountRes, error) {
	return this.cli.GetPoolCount(ctx, in)
}

// staffServer.GetProblemList 获取题干列表
func (this *staffServer) GetProblemList(ctx context.Context, in *gpb.BasePageReq) (*gpb.ProblemRes, error) {
	return this.cli.GetProblemList(ctx, in)
}

// staffServer.GetProSelectList 获取题干选项列表
func (this *staffServer) GetProSelectList(ctx context.Context, in *gpb.BasePageReq) (*gpb.ProblemRes, error) {
	return this.cli.GetProSelectList(ctx, in)
}

// staffServer.GetStaffShows 获取员工多组织架构
func (this *staffServer) GetStaffShows(ctx context.Context, in *gpb.StaffShowsReq) (*gpb.StaffShowsRes, error) {
	return this.cli.GetStaffShows(ctx, in)
}
